home *** CD-ROM | disk | FTP | other *** search
-
-
-
- TTTTCCCCPPPP((((7777PPPP)))) TTTTCCCCPPPP((((7777PPPP))))
-
-
-
- NNNNAAAAMMMMEEEE
- tcp - Internet Transmission Control Protocol
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- ####iiiinnnncccclllluuuuddddeeee <<<<ssssyyyyssss////ssssoooocccckkkkeeeetttt....hhhh>>>>
- ####iiiinnnncccclllluuuuddddeeee <<<<nnnneeeettttiiiinnnneeeetttt////iiiinnnn....hhhh>>>>
-
- ssss ==== ssssoooocccckkkkeeeetttt((((AAAAFFFF____IIIINNNNEEEETTTT,,,, SSSSOOOOCCCCKKKK____SSSSTTTTRRRREEEEAAAAMMMM,,,, 0000))));;;;
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- The TCP protocol provides reliable, flow-controlled, two-way transmission
- of data. It is a byte-stream protocol used to support the SOCK_STREAM
- abstraction. TCP uses the standard Internet address format and, in
- addition, provides a per-host collection of "port addresses". Thus, each
- address is composed of an Internet address specifying the host and
- network, with a specific TCP port on the host identifying the peer
- entity.
-
- Sockets utilizing the tcp protocol are either "active" or "passive".
- Active sockets initiate connections to passive sockets. By default TCP
- sockets are created active; to create a passive socket the _l_i_s_t_e_n(2)
- system call must be used after binding the socket with the _b_i_n_d(2) system
- call. Only passive sockets may use the _a_c_c_e_p_t(2) call to accept incoming
- connections. Only active sockets may use the _c_o_n_n_e_c_t(2) call to initiate
- connections.
-
- Passive sockets may "underspecify" their location to match incoming
- connection requests from multiple networks. This technique, termed
- "wildcard addressing", allows a single server to provide service to
- clients on multiple networks. To create a socket which listens on all
- networks, the Internet address INADDR_ANY must be bound. The TCP port
- may still be specified at this time; if the port is left unspecified by
- setting it to 0, the system will assign one. Once a connection has been
- established the socket's address is fixed by the peer entity's location.
- The address assigned the socket is the address associated with the
- network interface through which packets are being transmitted and
- received. Normally this address corresponds to the peer entity's
- network.
-
- TCP supports two socket options which can be tested with _g_e_t_s_o_c_k_o_p_t(2),
- and manipulated with _s_e_t_s_o_c_k_o_p_t(2). These options are defined in
- <_n_e_t_i_n_e_t/_t_c_p._h>.
-
- TCP_NODELAY
- Under most circumstances, TCP sends data when it is presented; when
- outstanding data has not yet been acknowledged, it gathers small
- amounts of output to be sent in a single packet once an
- acknowledgement is received. For a small number of clients, such as
- window systems that send a stream of mouse events which receive no
- replies, this packetization may cause significant delays.
- Therefore, TCP provides a boolean option, TCP_NODELAY, to defeat
- this algorithm.
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- TTTTCCCCPPPP((((7777PPPP)))) TTTTCCCCPPPP((((7777PPPP))))
-
-
-
- TCP_FASTACK
- For certain applications, TCP's default behavior of delaying
- acknowledgements may produce poor performance. Therefore, it is
- possible to turn delayed acknowledgements off using the TCP_FASTACK
- option. Use of this option is not generally recommended, as it will
- cause more traffic than is normally desirable.
-
- _N._B. Starting with IRIX 6.5, both TCP_NODELAY and TCP_FASTACK are
- inherited across an _a_c_c_e_p_t(2) system call. In previous IRIX releases
- this was not the case.
-
- Options at the IP transport level may be used with TCP; see _i_p(7P).
- Incoming connection requests that are source-routed are noted, and the
- reverse source route is used in responding. The source route may be
- disabled by specifying a zero-length buffer with the IP_OPTIONS option to
- _s_e_t_s_o_c_k_o_p_t (see _i_p(7P)).
-
- DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS
- A socket operation may fail with one of the following errors returned:
-
- [EISCONN] when trying to establish a connection on a socket
- which already has one;
-
- [ENOBUFS] when the system runs out of memory for an internal
- data structure;
-
- [ETIMEDOUT] when a connection was dropped due to excessive
- retransmissions;
-
- [ECONNRESET] when the remote peer forces the connection to be
- closed;
-
- [ECONNREFUSED] when the remote peer actively refuses connection
- establishment (usually because no process is
- listening to the port);
-
- [EADDRINUSE] when an attempt is made to create a socket with a
- port which has already been allocated;
-
- [EADDRNOTAVAIL] when an attempt is made to create a socket with a
- network address for which no network interface
- exists.
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- getsockopt(2), socket(2), intro(3), inet(7F), ip(7P)
- _I_R_I_X _N_e_t_w_o_r_k _P_r_o_g_r_a_m_m_i_n_g _G_u_i_d_e
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-